// DiagnosisService.java
package com.projects.modular.realty.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.projects.modular.realty.entity.Diagnosis;
import com.projects.modular.realty.model.params.DiagnosisParam;
import com.projects.modular.realty.model.vo.DiagnosisQueryVo;
import com.projects.modular.realty.model.vo.DiagnosisVo;

import java.util.List;

/**
 * 疼痛记录服务接口
 *
 * @author 曾大顺
 * @since 2025-02-11
 */
public interface DiagnosisService extends IService<Diagnosis> {

    /**
     * 新增疼痛记录
     *
     * @param diagnosisParam 疼痛记录参数
     */
    void add(DiagnosisParam diagnosisParam);

    /**
     * 删除疼痛记录
     *
     * @param diagnosisId 疼痛记录ID
     */
    void deleteById(String diagnosisId);

    /**
     * 更新疼痛记录
     *
     * @param diagnosisParam 疼痛记录参数
     */
    void update(DiagnosisParam diagnosisParam);

    /**
     * 根据ID查询详情
     *
     * @param diagnosisId 诊断ID
     * @return 疼痛记录详情
     */
    DiagnosisParam getDetailById(String diagnosisId);

    /**
     * 根据孩子ID查询所有疼痛记录
     *
     * @param childId 孩子ID
     * @return 疼痛记录列表
     */
    List<DiagnosisParam> getByChildId(String childId);

    /**
     * 根据查询参数获取列表
     *
     * @param diagnosisVo 查询参数
     * @return 疼痛记录列表
     */
    List<DiagnosisParam> getDiagnosisList(DiagnosisVo diagnosisVo);
}
